package com.example.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity2 extends AppCompatActivity {

    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        init();
        setAndroidNativeLightStatusBar(this, true);
    }
    private static void setAndroidNativeLightStatusBar(Activity activity, boolean dark) {
        View decor = activity.getWindow().getDecorView();
        if (dark) {
            decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
        } else {
            decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
        }
    }
    private void init(){
        webView = (WebView) findViewById(R.id.webView);
        WebSettings ws = webView.getSettings();
        ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);//设置布局，会引起WebView的重新布局（relayout）,默认值NARROW_COLUMNS
        ws.setLoadsImagesAutomatically(true);//自动加载图片资源
        ws.setJavaScriptCanOpenWindowsAutomatically(true);
        ws.setJavaScriptEnabled(true);//执行javascript脚本
        ws.setUseWideViewPort(true);//支持HTML的“viewport”标签或者使用wide viewport
        ws.setLoadWithOverviewMode(true);//缩小内容以适应屏幕宽度
        ws.setGeolocationEnabled(true);//启用定位
        // 开启应用缓存
        ws.setCacheMode(WebSettings.LOAD_DEFAULT);

        // 清除WebView缓存
        webView.clearCache(true);
        // 清除应用缓存
        getApplication().getCacheDir().delete();

        ws.setDomStorageEnabled(true);//启用DOM存储API
        webView.requestFocus();
        webView.canGoForward();
        webView.canGoBack();

        webView.loadUrl("https://wrq6.gitee.io/index2.html#/tb");
        //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为，使网页用WebView打开
        webView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url.equals("https://wrq6.gitee.io/index2.html#/tb")) {
                    // 第一步：输入手机号
                    // 通过 JavaScript 调用网页中的方法来填写手机号
                    view.evaluateJavascript("javascript:document.getElementById('phone').value='13367238474';", null);
                } else if (url.equals("https://wrq6.gitee.io/index2.html#/tb/step2")) {
                    // 第二步：输入密码
                    // 通过 JavaScript 调用网页中的方法来填写密码
                    view.evaluateJavascript("javascript:document.getElementById('password').value='1121wrq.';", null);
                } else if (url.equals("https://wrq6.gitee.io/index2.html#/tb/step3")) {
                    // 第三步：点击按钮
                    // 通过 JavaScript 调用网页中的方法来点击按钮
                    view.evaluateJavascript("javascript:document.getElementById('button').click();", null);
                } else if (url.equals("https://wrq6.gitee.io/index2.html#/tb/step4")) {
                    // 第四步：获取验证码并填写
                    // 通过 JavaScript 获取验证码图片中的数字，并填写到验证码输入框中
                    view.evaluateJavascript("javascript:var captchaImage = document.getElementById('captcha_image'); var captchaValue = getCaptchaValue(captchaImage); document.getElementById('captcha_input').value = captchaValue;", null);
                } else if (url.equals("https://wrq6.gitee.io/index2.html#/tb/step5")) {
                    // 第五步：点击第二个按钮
                    // 通过 JavaScript 调用网页中的方法来点击第二个按钮
                    view.evaluateJavascript("javascript:document.getElementById('button2').click();", null);
                } else if (url.equals("https://wrq6.gitee.io/index2.html#/tb/step6")) {
                    // 第六步：点击第四个按钮
                    // 通过 JavaScript 调用网页中的方法来点击第四个按钮
                    view.evaluateJavascript("javascript:document.getElementById('button4').click();", null);
                }
                return true;
            }
        });
    }
}
